/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.faesa.acervo.services.ws;

import br.faesa.acervo.business.ejb.CadastroBasicoSessionBeanLocal;
import br.faesa.acervo.business.ejb.EmprestimoDAO;
import br.faesa.acervo.entity.Emprestimo;
import br.faesa.acervo.entity.Livro;
import br.faesa.acervo.entity.LivroTipo;
import java.util.List;
import javax.ejb.EJB;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author aluno.faesa
 */
@WebService(serviceName = "AcervoWebService")
public class AcervoWebService {

    @EJB
    private CadastroBasicoSessionBeanLocal ejb;
    
      @EJB
    private EmprestimoDAO EmprestimoDAO;

    @WebMethod
    public List<Emprestimo> obterAgendamentosReservas(Livro livro){
        return this.EmprestimoDAO.findEmprestimosByLivro(livro, false);
    }
    
    @WebMethod
    public List<Emprestimo> obterHistoricoReservas(Livro livro){
        return this.EmprestimoDAO.findEmprestimosByLivro(livro, true);
    }

    @WebMethod
    public void salvarLivro(@WebParam(name = "livro") Livro livro) {
        ejb.salvarLivro(livro);
    }

    @WebMethod(operationName = "obterLivrosPorTitulo")
    public List<Livro> obterLivrosPorTitulo(@WebParam(name = "titulo") String titulo) {
        return ejb.obterLivros(titulo);
    }

    @WebMethod(operationName = "obterLivrosTodos")
    public List<Livro> obterLivrosTodos() {
        return ejb.obterLivros();
    }

    @WebMethod
    public List<LivroTipo> obterLivrosTipo() {
        return ejb.obterLivrosTipo();
    }
    
}
